package modelo;

import java.util.Vector;
import bean.CursoVO;
import bean.AlumnoVO;

public class Curso {

	private static final long serialVersionUID = 1L;
   // private static int numerador;
	private int numeroCurso;
	private Materia materia;
	private Profesor profesor;
	private int cantidadMaxima;
	private Vector <Alumno> alumnos;
	
	public Curso(){
		alumnos = new Vector<Alumno>();
		
	}
	
	public Curso(Materia materia, Profesor profesor, int cant ) {
		super();
		alumnos = new Vector<Alumno>();
		this.cantidadMaxima = cant;
		this.materia = materia;
		this.profesor = profesor;
	}
	
	/*
	public int obtenerNumero(){
		
		this.numeroCurso = ++numerador;  
		return numerador;
		
	}  */
	
	public int getNumeroCurso() {
		return numeroCurso;
	}
	public void setNumeroCurso(int numero) {
		this.numeroCurso = numero;
	}
	public Materia getMateria() {
		return materia;
	}
	public void setMateria(Materia materia) {
		this.materia = materia;
	}
	public Profesor getProfesor() {
		return profesor;
	}
	public void setProfesor(Profesor profesor) {
		this.profesor = profesor;
	}
	public int getCantidadMaxima() {
		return cantidadMaxima;
	}
	public void setCantidadMaxima(int cant) {
		this.cantidadMaxima = cant;
	}
	
	
	
	public void agregarAlumno(Alumno a) {
		alumnos.add(a);
	}
	
	public void eliminarAlumno(Alumno a) {
		
		for(int i = 0; i<alumnos.size(); i++){
			Alumno aux = alumnos.elementAt(i);
			if(aux.getLegajo()== a.getLegajo()){
				alumnos.remove(i);	
			}
		}
	}

	
	public Vector<Alumno> getAlumnos() {
		return alumnos;
	}
	
	
	public boolean existeAlumno(int nro){
		
		boolean salida = false;
		for(int i = 0; i<alumnos.size(); i++){
			Alumno aux = alumnos.elementAt(i);
			if(aux.getLegajo()== nro)
				salida  = true;		
		}
		return salida;	
	}
	
	public CursoVO getVO(){
		
		CursoVO c = new CursoVO();
		c.setNumeroCurso(this.getNumeroCurso());
		c.setMateriaVO(this.getMateria().getVO());
		c.setProfesorVO(this.getProfesor().getVO());
		c.setCantidadMaxima(this.getCantidadMaxima());
		
		Vector<AlumnoVO> alumnosVO = new Vector<AlumnoVO>();
        for(int i = 0; i < alumnos.size(); i++)
        	alumnosVO.add(alumnos.elementAt(i).getVO());
        
        c.setAlumnosVO(alumnosVO);		
		
		return c;
			
		}
	

public Vector<String> toVector(){
		
		Vector <String> salida = new Vector<String>();
		salida.add(String.valueOf(this.getNumeroCurso()));
		salida.add(this.getMateria().getNombre());
		salida.add(this.getProfesor().getNombre());
		salida.add(String.valueOf(this.getCantidadMaxima()));
		
		return salida;		
	}
	
}
